1. Field of the Invention
This invention relates to database management systems. More particularly, the invention is directed to the implementation of automated tuning for a database management system utilizing the capabilities of a host providing a dynamic logical partitioning environment.
2. Description of the Prior Art
By way of background, autonomic self-tuning (based on system conditions) is a feature of modern database systems. Self-tuning allows various database and database manager parameters to be automatically assigned values based upon current workload and the availability of resources such as CPU (central processing unit) cycles, memory, and I/O (Input/Output). Given a particular workload and resource availability, parameter values are selected that will produce optimal performance.
For example, in a real-time data warehouse environment, it is relatively easy to overload a database server application with too many users, too much memory utilization, and poor caching effects due to the large amount of data being referenced. Thus, as the number of users increases or achieves some threshold value, self-tuning can be used to change the concurrency control optimizations to favor high concurrency.
Finding the optimal performance level in a traditional statically-partitioned operating system environment providing a fixed amount of resources has shortfalls because there is an upper limit placed on how much optimization can be performed within the constraint of currently available resources in a partition. For example, if the workload experienced by a database system requires 1 Gigabyte of memory and a host system has 256 Megabytes of total memory currently available, not much can be done to alleviate the performance problem.
Fortunately, dynamically partitionable data processing systems are available that allow system resources such as CPU bandwidth, memory and I/O to be dynamically assigned to one or more partitions each providing a dedicated operating system environment supporting the execution of one or more applications. Examples of dynamically partitionable systems are the IBM® eServer™ pSeries® servers, such as the p690 and p670 systems, from International Business Machines, running version 5.2 of the IBM® AIX® 5L operating system. This operating system is capable of handling partition reconfiguration without having to be rebooted.
The dynamic logical partitioning capability of the foregoing data processing system allows processor, memory and I/O slot resources to be added to or deleted from running partitions, or moved between running partitions, each of which runs an operating system instance, without requiring any such instance to be rebooted. Both time-based and load-based scenarios for moving processor resources and memory resources among partitions are supported.
It would be desirable to provide a technique whereby a dynamic logical partitioning environment could be used to extend or complement existing database automatic tuning capability. What is needed in particular is a solution in which a database management application can take advantage of a dynamic logically partitioned host to periodically receive resource reallocations as database workload parameters change. Providing such functionality without requiring alteration of the database management program would be of additional benefit.